<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/plantillas/defaultTemplate.xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:c="http://java.sun.com/jsp/jstl/core">

    <ui:define name="titulo">Reclutamiento y Selecci&oacute;n de Candidatos</ui:define>

    <ui:define name="dialogos" >

        <p:confirmDialog message="&#191; Esta seguro que desea eliminar el candidato seleccionado ?" showEffect="bounce" hideEffect="explode"  
                         modal="true" header="Eliminar Prueba" severity="alert" widgetVar="dlgEliminarPrecandidato">  
            <p:commandButton value="Si, estoy seguro" update="principalForm:mensajes,evCandidatoLst,seCandidatoLst" oncomplete="dlgEliminarPrecandidato.hide()"  
                             action="#{reclutamiento$preseleccionAspirante.eliminarCandidato}" />  
            <p:commandButton value="No" onclick="dlgEliminarPrecandidato.hide()" type="button" />   

        </p:confirmDialog>  

        <p:confirmDialog message="&#191; Esta seguro que desea eliminar la prueba seleccionada ?" showEffect="bounce" hideEffect="explode"  
                         modal="true" header="Eliminar Prueba" severity="alert" widgetVar="dlgEliminarPrueba">  
            <p:commandButton value="Si, estoy seguro" update="principalForm:mensajes,pruebasXEvaluacionEdit" oncomplete="dlgEliminarPrueba.hide()"  
                             action="#{reclutamiento$preseleccionAspirante.eliminarPruebaCandidato}" />  
            <p:commandButton value="No" onclick="dlgEliminarPrueba.hide()" type="button" />   

        </p:confirmDialog>     

        <p:confirmDialog message="&#191; Esta seguro que desea eliminar el beneficiario seleccionado ?" showEffect="bounce" hideEffect="explode"  
                         modal="true" header="Eliminar Beneficiario" severity="alert" widgetVar="dlgEliminarBeneficiario">  
            <p:commandButton value="Si, estoy seguro" update="principalForm:mensajes,beneficiariosCandidato" oncomplete="dlgEliminarBeneficiario.hide()"  
                             action="#{reclutamiento$preseleccionAspirante.eliminarBeneficiario}" />  
            <p:commandButton value="No" onclick="dlgEliminarBeneficiario.hide()" type="button" />   

        </p:confirmDialog>    

        <p:dialog id="dialogoEvaluacion" widgetVar="botonMostrarEvaluacion" header="Evaluaciones" width="650" height="500"  resizable="true" showEffect="clip" hideEffect="clip"
                  onCloseUpdate="principalForm:mensajes,principalForm:evCandidatoLst" closeListener="#{reclutamiento$preseleccionAspirante.handleCloseEvaluacionCandidato}" >  

            <table width="100%" border="0" cellpadding="2" >
                <tr>
                    <td rowspan="2" width="5%" >
                        <p:graphicImage value="/resources/imagenes/64/evaluacion32x32.png" />   
                    </td>
                    <td>
                        <h:outputLabel id="lbl1" value="Candidato Seleccionado: "  style="font-weight: bold;"/>
                        <h:outputLabel id="lbl2" value="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado.candidato1.nombreCompleto}" />                        
                    </td>
                </tr>
                <tr>
                    <td>
                        <h:outputLabel value="Buscar " />
                        <p:autoComplete id="autocompletePrueba" forceSelection="true" var="prueba"
                                        value="#{reclutamiento$preseleccionAspirante.pruebaXPuestoSeleccionada}"
                                        itemValue="#{prueba.pruebaToString}" itemLabel="#{prueba.nombre}"
                                        onSelectUpdate="principalForm:mensajes,addPruebaCandidato,dialogoEvaluacion"
                                        completeMethod="#{reclutamiento$preseleccionAspirante.completePrueba}"
                                        converter="#{reclutamiento$preseleccionAspirante.pruebaConverter}" title="Digite el nombre de la prueba que desea agregar." >
                        </p:autoComplete>
                        <p:commandButton id="addPruebaCandidato" image="ui-icon-circle-plus" action="#{reclutamiento$preseleccionAspirante.agregarPruebaCandidato}" update="principalForm:mensajes,autocompletePrueba,pruebasXEvaluacionEdit" />
                    </td>
                </tr>
            </table>

            <p:spacer height="30">
                <p:dataTable id="pruebasXEvaluacionEdit" value="#{reclutamiento$preseleccionAspirante.evaluacionCandidatos}" var="evaluacion"
                             paginator="true" rows="10"  emptyMessage="No se han encontrado Evaluaciones." dynamic="true" 
                             rowEditListener="#{reclutamiento$preseleccionAspirante.onEditNotasCandidato}" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                             rowsPerPageTemplate="5,10,25,50,100" style="margin-top: 20px;" onRowEditUpdate="principalForm:mensajes" onRowSelectUpdate="principalForm:mensajes,pruebasXEvaluacionEdit" onRowUnselectUpdate="principalForm:mensajes,pruebasXEvaluacionEdit" >

                    <f:facet name="header">
                        Evaluaciones por Candidato
                    </f:facet>

                    <p:column headerText="Evaluaci&oacute;n" >  
                        <h:outputLabel value="#{evaluacion.pruebaXPuesto.nombre}" />
                    </p:column>  

                    <p:column headerText="Nota" style="text-align: left">  
                        <p:cellEditor  >  
                            <f:facet name="output">  
                                <h:outputText value="#{evaluacion.nota}" >  
                                    <f:convertNumber maxFractionDigits="2" />
                                </h:outputText>
                            </f:facet>  
                            <f:facet name="input" >  
                                <p:inputText value="#{evaluacion.nota}" validatorMessage="Debe ingresar un valor entre 0 y 10." maxlength="4" style="width:25px">  
                                    <f:validateDoubleRange minimum="0" maximum="10"  />
                                </p:inputText>
                            </f:facet>  
                        </p:cellEditor>  
                    </p:column>  

                    <p:column headerText="Observaci&oacute;n" style="width:250px; text-align: left">  
                        <p:cellEditor  >  
                            <f:facet name="output">  
                                <h:outputText value="#{evaluacion.observacion}" />  
                            </f:facet>  
                            <f:facet name="input">  
                                <p:inputTextarea value="#{evaluacion.observacion}" style="width:100%"/>  
                            </f:facet>  
                        </p:cellEditor>  
                    </p:column> 

                    <p:column headerText="Ingresar" style="width:50px; text-align: left;">  
                        <p:rowEditor />  
                    </p:column>  

                    <p:column headerText="Eliminar" >
                        <p:commandButton  id="cmdEliminar" image="ui-icon-circle-minus" oncomplete="dlgEliminarPrueba.show();"  >
                            <f:setPropertyActionListener value="#{evaluacion}" target="#{reclutamiento$preseleccionAspirante.pruebaEliminar}" /> 
                        </p:commandButton>
                    </p:column>

                </p:dataTable>
            </p:spacer>

        </p:dialog>    

        <p:dialog id="dialogoBeneficiarios" widgetVar="dialogoBeneficiarios" header="Beneficiarios por Candidato" width="650" height="500"  resizable="true" showEffect="clip" hideEffect="clip" >  

            <p:spacer height="30">
                <h:panelGrid columns="5" >
                    <h:outputLabel value="Nombre" />
                    <p:inputText id="txNombreBe" value="#{reclutamiento$preseleccionAspirante.nombreBeneficiario}" />
                    <h:outputLabel value="Parentesco" />
                    <h:selectOneMenu id="listaParentesco" value="#{reclutamiento$preseleccionAspirante.parentesco}" style="height: 25px;padding-top: 3px;width: 200px;"  >
                        <f:selectItems var="parentesco" value="#{reclutamiento$preseleccionAspirante.listaParentesco}" itemValue="#{parentesco.parentescoPK.codParentesco}" itemLabel="#{parentesco.nomParentesco}" />
                    </h:selectOneMenu>
                    <p:commandButton id="addParentesco" image="ui-icon-circle-plus" action="#{reclutamiento$preseleccionAspirante.guardarBeneficiario}" update="principalForm:mensajes,txNombreBe,listaParentesco,beneficiariosCandidato" />
                </h:panelGrid>

                <p:dataTable id="beneficiariosCandidato" var="beneficiario" value="#{reclutamiento$preseleccionAspirante.listaBeneficiarios}"
                             paginator="true" rows="10"  emptyMessage="No se han ingresado beneficiarios." dynamic="true" 
                             rowEditListener="#{reclutamiento$preseleccionAspirante.onEditarBeneficiario}" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                             rowsPerPageTemplate="5,10,25,50,100" style="margin-top: 20px;" onRowEditUpdate="principalForm:mensajes,beneficiariosCandidato" >

                    <f:facet name="header">
                        Beneficiarios por Candidato
                    </f:facet>


                    <p:column headerText="Nombre" >  

                        <p:cellEditor  >  
                            <f:facet name="output">  
                                <h:outputText value="#{beneficiario.nombre}" />  
                            </f:facet>  
                            <f:facet name="input">  
                                <p:inputText value="#{beneficiario.nombre}" style="width:100%" />
                            </f:facet>  
                        </p:cellEditor>  

                    </p:column>  

                    <p:column headerText="Parentesco" >  
                        <p:cellEditor  >  
                            <f:facet name="output">  
                                <h:outputText id="nomParentesco" value="#{beneficiario.parentesco.nomParentesco}" />  
                            </f:facet>  
                            <f:facet name="input">  
                                <h:selectOneMenu id="listaEdParentesco" value="#{reclutamiento$preseleccionAspirante.parentescoEdit}" style="height: 25px;padding-top: 3px;width: 100px;"  >
                                    <f:selectItems var="parentesco" value="#{reclutamiento$preseleccionAspirante.listaParentesco}" itemValue="#{parentesco.parentescoPK.codParentesco}" itemLabel="#{parentesco.nomParentesco}" />
                                    <p:ajax update="nomParentesco" event="select" />
                                </h:selectOneMenu>
                            </f:facet>  
                        </p:cellEditor>  
                    </p:column>  

                    <p:column headerText="Ingresar" style="width:50px; text-align: left;">  
                        <p:rowEditor />  
                    </p:column>  

                    <p:column headerText="Eliminar" >
                        <p:commandButton  id="cmdEliminarBeneficiario" oncomplete="dlgEliminarBeneficiario.show();" update="principalForm:mensajes,txNombreBe,listaParentesco" image="ui-icon-circle-minus" >
                            <f:setPropertyActionListener value="#{beneficiario}" target="#{reclutamiento$preseleccionAspirante.beneficiarioSeleccionado}" />  
                        </p:commandButton>
                    </p:column>

                </p:dataTable>
            </p:spacer>

        </p:dialog>    

        <p:dialog id="dialogoCriterio" widgetVar="botonMostrarCriterios" header="Seleccionar Criterio" width="425" height="335"  
                  onCloseUpdate="principalForm:criteriosSeleccionados,principalForm:mensajes" resizable="false" showEffect="clip" hideEffect="clip"
                  closeListener="#{reclutamiento$preseleccionAspirante.handleCloseCriterioAdicional}" >

            <p:spacer height="15" />
            <p:dataTable id="criteriosDisponibles" var="criterio" value="#{reclutamiento$preseleccionAspirante.criteriosDisponibles}" emptyMessage="No se han encontrado mas Criterios" 
                         paginator="true" rows="5" onRowSelectUpdate="principalForm:criteriosDisponibles,principalForm:criteriosSeleccionados"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                         rowsPerPageTemplate="5,10,25,50,100" >  

                <p:column headerText="Criterio" filterMatchMode="contains"
                          filterBy="#{criterio.nombre}" >  
                    <h:outputLabel value="#{criterio.nombre}" />  
                </p:column>  

                <p:column headerText="A&ntilde;adir" style="width: 5%;" >
                    <p:commandButton  id="cmdAgregarCriterio"  image="ui-icon-circle-plus" title="Agregar este Evaluador." update="principalForm:mensajes,principalForm:criteriosSeleccionados" action="#{reclutamiento$preseleccionAspirante.agregarCriterio}" >
                        <f:setPropertyActionListener value="#{criterio}" target="#{reclutamiento$preseleccionAspirante.criterio}" />  
                    </p:commandButton>
                </p:column>

            </p:dataTable>  

        </p:dialog> 

        <p:confirmDialog message="&#191;Esta seguro que desea cerrar este Concurso?" header="Cerrar Concurso" severity="alert"
                         showEffect="bounce" hideEffect="explode"  modal="true" closable="false" widgetVar="confirmation">  
            <h:panelGrid columns="2">
                <h:outputLabel value="Comentario final: " />
                <p:inputTextarea value="#{reclutamiento$preseleccionAspirante.comentarioFinal}" />
            </h:panelGrid>
            <p:commandButton id="cmdOk" value="Si, estoy seguro" update="principalForm:mensajes,principalForm:cmdCerrar,principalForm:cmdOk" 
                             action="#{reclutamiento$preseleccionAspirante.iniciar}" onclick="confirmation.hide()" />   
            <p:commandButton value="No" onclick="confirmation.hide()" type="button" />   

        </p:confirmDialog>  

        <p:dialog id="dialogoContrato" widgetVar="botonMostrarContrato" header="Datos de Contrataci&oacute;n" width="820" height="530"  
                  onCloseUpdate="principalForm:mensajes,principalForm:candidatoContratar,principalForm:mensajesContrato" 
                  resizable="false" showEffect="clip" hideEffect="clip">  
            <p:spacer height="20" />

            <p:fieldset legend="Contrato de Empleado" >

                <table border="0" cellspacing="3" cellpadding="1" >
                    <tr align="right">
                        <td colspan="5" align="right">
                            <h:panelGrid columns="4">
                                <p:graphicImage value="/resources/imagenes/64/info.png" />
                                <h:outputLabel value="Campos marcardos con " style="font-style: italic;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                                <h:outputLabel value=" son requeridos" style="font-style: italic;" />
                            </h:panelGrid>
                            <p:messages id="mensajesContrato" showDetail="true" showSummary="true"/>  
                        </td>
                    </tr>
                    <tr>
                        <td><h:outputLabel value="Empresa" style="font-weight: bold;" /></td>
                        <td colspan="3"><h:outputLabel value="#{SessionBeanADM.compania.nomComercial}" /></td>
                    </tr>
                    <tr>
                        <td><h:outputLabel value="Candidato" style="font-weight: bold;" /></td>
                        <td colspan="3" ><h:outputLabel id="lbl_candidato" value="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado.candidato1.nombreCompleto}" /></td>
                    </tr>
                    <tr>
                        <td> 
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Acta y Acuerdo" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><p:inputText id="txAreaOAcuerdo" value="#{reclutamiento$preseleccionAspirante.actaOAcuerdo}"/></td>
                        <td></td>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Fecha de Acuerdo" style="font-weight: bold;"/>
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><p:calendar  value="#{reclutamiento$preseleccionAspirante.dia}" pattern="dd/MM/yyyy" showOn="button" /></td>
                    </tr>
                    <tr>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Fecha Inicio" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><p:calendar id="calFecInicialCon" pattern="dd/MM/yyyy" showOn="button" value="#{reclutamiento$preseleccionAspirante.fechaInicio}" /></td>
                        <td></td>
                        <td><h:outputLabel value="Fecha Fin" /></td>
                        <td><p:calendar id="calFecFinalCon" pattern="dd/MM/yyyy" showOn="button" value="#{reclutamiento$preseleccionAspirante.fechaFin}"/></td>
                    </tr>
                    <tr>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Documento" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />                          
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td colspan="3" ><p:inputText id="txtDUI" value="#{reclutamiento$preseleccionAspirante.dui}" /></td>
                        <td>
                            <p:commandButton id="addben" value="Agregar Beneficiarios" action="#{reclutamiento$preseleccionAspirante.listarBeneficiarios}" image="beneficiarios" update="beneficiariosCandidato" oncomplete="dialogoBeneficiarios.show();" />
                        </td>
                    </tr>
                    <tr>
                        <td><h:outputLabel value="Puesto" style="font-weight: bold;"/></td>
                        <td><h:outputLabel id="lbl_puesto" value="#{reclutamiento$preseleccionAspirante.concursoSeleccionado.puestos.nomPuesto}" /></td>
                        <td></td>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Salario #{SessionBeanADM.compania.monedas.signo}" style="font-weight: bold;"/>
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><p:inputText id="txSalarioCan" value="#{reclutamiento$preseleccionAspirante.salario}" >
                                <f:convertNumber maxFractionDigits="2" />
                            </p:inputText></td>
                    </tr>
                    <tr>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Representante Patronal" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />                          
                                <h:outputLabel value="" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td colspan="3" ><h:outputLabel id="txtRepresentanteP" value="#{SessionBeanADM.representantePatronal.nombreCompleto}" /></td>
                    </tr>
                    <tr>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Tipo de Contrato" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><h:selectOneMenu id="lst_tipoContrato" style="height: 25px;padding-top: 3px;width: 200px;" value="#{reclutamiento$preseleccionAspirante.tipoContratoSeleccionado}" >
                                <f:selectItem itemValue="P" itemLabel="PERMANENTE" />
                                <f:selectItem itemValue="E" itemLabel="EVENTUAL" />
                                <f:selectItem itemValue="S" itemLabel="SERVICIOS PROFECIONALES" />
                            </h:selectOneMenu></td>
                        <td></td>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Estado del Contrato" style="font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td></td>
                    </tr>
                    <tr>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Tipo de Planilla" style="margin:0 0 0 -3px;padding:0;font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td><h:selectOneMenu id="lst_tipoPlanilla" style="height: 25px;padding-top: 3px;width: 200px;" value="#{reclutamiento$preseleccionAspirante.tipoPlanilla}" >
                                <f:selectItems var="tipoPlanilla" value="#{reclutamiento$preseleccionAspirante.listaTipoPlanilla}" itemValue="#{tipoPlanilla.tiposPlanillaPK.codTipopla}" itemLabel="#{tipoPlanilla.nomTipopla}" />
                            </h:selectOneMenu></td>
                        <td></td>
                        <td>
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Sucursal" style="font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>                            
                        </td>
                        <td><h:selectOneMenu id="lst_sucursal" value="#{reclutamiento$preseleccionAspirante.agencia}" style="height: 25px;padding-top: 3px;width: 200px;" >
                                <f:selectItems var="agencia" value="#{reclutamiento$preseleccionAspirante.listaAgencias}" itemValue="#{agencia.agenciasPK.codAgencia}" itemLabel="#{agencia.nomAgencia}" />
                            </h:selectOneMenu></td>
                    </tr>
                    <tr>
                        <td valign="top"><h:outputLabel value="Observaciones" style="font-weight: bold;" /></td>
                        <td colspan="4" ><p:inputTextarea id="txObservaciones" style="width:100%"  value="#{reclutamiento$preseleccionAspirante.observaciones}" /></td>
                    </tr>
                    <tr>
                        <td valign="top">
                            <h:panelGrid columns="2">
                                <h:outputLabel value="Usuario" style="font-weight: bold;" />
                                <h:outputLabel value="*" styleClass="requerido"/>                                
                            </h:panelGrid>
                        </td>
                        <td colspan="3" ><p:inputText id="txtUsuario" value="#{reclutamiento$preseleccionAspirante.usuario}" /></td>
                    </tr>
                </table>

                <h:panelGrid columns="2">
                    <f:facet name="footer" >
                        <h:panelGrid columns="2">
                            <p:commandButton value="Contratar" image="ui-icon-circle-check" oncomplete="botonMostrarContrato.hide()" action="#{reclutamiento$preseleccionAspirante.contratarCandidato}" update="principalForm:mensajes,principalForm:mensajesContrato,principalForm:txObservaciones,principalForm:txAreaOAcuerdo,principalForm:calFecFinalCon,principalForm:calFecInicialCon,principalForm:txSalarioCan,principalForm:txtDUI,principalForm:lst_tipoContrato,principalForm:lst_estadoContrato,principalForm:lst_sucursal,principalForm:lst_tipoPlanilla" />
                            <p:commandButton value="Cancelar"  image="ui-icon-circle-close" onclick="botonMostrarContrato.hide()" update="principalForm:mensajesContrato,principalForm:txObservaciones,principalForm:txAreaOAcuerdo,principalForm:calFecFinalCon,principalForm:calFecInicialCon,principalForm:txSalarioCan,principalForm:txtDUI,principalForm:lst_tipoContrato,principalForm:lst_estadoContrato,principalForm:lst_sucursal,principalForm:lst_tipoPlanilla" />
                        </h:panelGrid>
                    </f:facet>
                </h:panelGrid>
            </p:fieldset>    

        </p:dialog> 

    </ui:define>

    <ui:define name="acciones">
        <p:tab id="accionesCandidato" title="Candidatos" rendered="#{reclutamiento$preseleccionAspirante.concursoSeleccionado ne null}" >
            <h:panelGrid columns="1">
                <p:commandLink styleClass="opcionMenu textoNormal" ajax="true" action="#{reclutamiento$preseleccionAspirante.mostrarCandidatos}" update="principalForm:mensajes,principalForm:criteriosSeleccionados,principalForm:tableCanSeleccionados,wizarPreseleccion,principalForm:seCandidatoLst" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">
                    <p:graphicImage value="/resources/iconos/preseleccion.png" />
                    <h:outputText value="Mostrar Preselecci&oacute;n" styleClass="espacioTexto"/>
                </p:commandLink>
                <p:commandLink styleClass="opcionMenu textoNormal" ajax="true" action="#{reclutamiento$preseleccionAspirante.buscarCandidatosXCriterios}" update="principalForm:mensajes,criteriosSeleccionados,principalForm:tableCanSeleccionados,wizarPreseleccion,principalForm:seCandidatoLst" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">
                    <p:graphicImage value="/resources/iconos/candidato-criterio.png" />
                    <h:outputText value="Filtrar por Criterios" styleClass="espacioTexto"/>
                </p:commandLink>
                <p:commandLink styleClass="opcionMenu textoNormal" ajax="true" action="#{reclutamiento$preseleccionAspirante.buscarAllCandidatos}" update="principalForm:mensajes,criteriosSeleccionados,principalForm:tableCanSeleccionados,wizarPreseleccion,principalForm:seCandidatoLst" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">
                    <p:graphicImage value="/resources/iconos/candidato.png" />
                    <h:outputText value="Filtrar por Candidato" styleClass="espacioTexto"/>
                </p:commandLink>
                <p:commandLink styleClass="opcionMenu textoNormal"  ajax="true" action="#{reclutamiento$preseleccionAspirante.buscarAllEmpleados}" update="principalForm:mensajes,criteriosSeleccionados,principalForm:tableCanSeleccionados,wizarPreseleccion,principalForm:seCandidatoLst" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">
                    <p:graphicImage value="/resources/iconos/personal.png" />
                    <h:outputText value="Filtrar por Empleado" styleClass="espacioTexto"/>
                </p:commandLink>
                <p:commandLink styleClass="opcionMenu textoNormal"  ajax="true" action="preseleccionAspirante?faces-redirect=true" update="principalForm:mensajes,criteriosSeleccionados,principalForm:tableCanSeleccionados,wizarPreseleccion,principalForm:seCandidatoLst" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">
                    <p:graphicImage value="/resources/iconos/arrow-left.png" />
                    <h:outputText value="Volver a concursos" styleClass="espacioTexto"/>
                </p:commandLink>
            </h:panelGrid>
        </p:tab>
        <p:tab title="Otras acciones">
            <h:panelGrid columns="1">
                <p:commandLink styleClass="opcionMenu textoNormal" ajax="true" action="#{reclutamiento$preseleccionAspirante.inicio$action}" update="principalForm:mensajes" onmouseover="this.className='opcionMenu  textonegrita';" onmouseout="this.className='opcionMenu  textonormal';" immediate="true">                               
                    <p:graphicImage value="/resources/iconos/application-exit.png"/>
                    <h:outputText value="Cancelar" styleClass="espacioTexto"/>
                </p:commandLink>
            </h:panelGrid>
        </p:tab>
    </ui:define>

    <ui:define name="contenido">    
        <p:spacer height="20" />

        <p:wizard id="wizarPreseleccion" widgetVar="wiz" flowListener="#{reclutamiento$preseleccionAspirante.onFlowListener}" 
                  showStepStatus="true" 
                  backLabel="Anterior" nextLabel="Siguiente"  >
            <p:tab id="concursoSeleccionado" title="Concursos"  >
                <p:spacer height="5" />
                <p:panel header="Paso 1 de 5" style="border:none;" >
                    <p:spacer width="8" />
                    <h:panelGrid columns="1"  >
                        <h:outputLabel value="Complete los rangos de fecha para encontrar un concurso especifico, o presione el boton buscar sin ingresar fechas para mostrar TODOS los concursos Activos." />
                        <h:outputLabel value="No podrá avanzar al paso 2 sin haber seleccionado un concurso." />
                    </h:panelGrid>
                    <p:spacer width="8" />
                    <h:panelGrid columns="8"  >
                        <h:outputLabel value=""/>
                        <h:outputLabel value="Fecha inicial"/>
                        <p:calendar id="calFechaInicial"  pattern="dd/MM/yyyy" showOn="button" value="#{reclutamiento$preseleccionAspirante.fechaInicial}" />
                        <h:outputLabel value=""/>
                        <h:outputLabel value="Fecha final"/>
                        <p:calendar id="calFechaFinal" pattern="dd/MM/yyyy" showOn="button" value="#{reclutamiento$preseleccionAspirante.fechaFinal}" />
                        <p:commandButton value="Buscar" image="buscar" action="#{reclutamiento$preseleccionAspirante.buscarConcurso$action()}"
                                         update="mensajes,calFechaInicial,calFechaFinal,tablaConcursos,principalForm:criteriosDisponibles,panelAcciones" />
                    </h:panelGrid>
                    <p:spacer width="4" />

                    <p:dataTable id="tablaConcursos" paginator="true" emptyMessage="No se han encontrado concursos."
                                 var="concurso" rows="5" value="#{reclutamiento$preseleccionAspirante.listaConcurso}"
                                 paginatorAlwaysVisible="true" 
                                 rowStyleClass="#{reclutamiento$preseleccionAspirante.concursoSeleccionado eq concurso ? 'elementoSeleccionado': ''}"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,25,50,100" >
                        <f:facet name="header">
                            <h:outputText value="Concursos"/>
                        </f:facet>

                        <p:column sortBy="#{concurso.concursoPK.codConcurso}" headerText="C&oacute;digo" >
                            <h:outputLabel value="#{concurso.concursoPK.codConcurso}"/>
                        </p:column>

                        <p:column filterBy="#{concurso.nombre}" 
                                  filterMatchMode="contains"
                                  headerText="Nombre del concurso ">
                            <h:outputLabel value="#{concurso.nombre}"/>
                        </p:column> 

                        <p:column sortBy="#{concurso.fechaInicial}" headerText="Fecha inicial" >
                            <h:outputLabel value="#{concurso.fechaInicial}" >
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </h:outputLabel>
                        </p:column>    

                        <p:column sortBy="#{concurso.fechaFinal}" headerText="Fecha final" >
                            <h:outputLabel value="#{concurso.fechaFinal}" >
                                <f:convertDateTime pattern="dd/MM/yyyy" />
                            </h:outputLabel>
                        </p:column>         

                        <p:column sortBy="#{concurso.numeroPlazas}" headerText="Plazas">
                            <h:outputLabel value="#{concurso.numeroPlazas}" />
                        </p:column> 

                        <p:column sortBy="#{concurso.puestos.nomPuesto}"
                                  filterBy="#{concurso.puestos.nomPuesto}"
                                  filterMatchMode="contains" headerText="Puesto" >
                            <h:outputLabel value="#{concurso.puestos.nomPuesto}" />
                        </p:column> 

                        <p:column headerText="Seleccionar" >
                            <p:commandButton  id="cmdSeleccionar" update="principalForm:panelAcciones,principalForm:tablaConcursos,principalForm:panelProceso" image="ui-icon-circle-check" title="Seleccionar Concurso"  >
                                <f:setPropertyActionListener value="#{concurso}" target="#{reclutamiento$preseleccionAspirante.concursoSeleccionado}" /> 
                            </p:commandButton>
                        </p:column>

                    </p:dataTable>

                    <p:spacer height="20" />
                </p:panel>
                <p:spacer height="20" />
            </p:tab>

            <p:tab id="candidatosSeleccionadosTab" title="Preselecci&oacute;n"  >
                <p:spacer height="20" />

                <p:panel id="panelProceso" header="Paso 2 de 5" style="border:none;" >
                    <p:spacer height="10" />
                    <h:panelGrid columns="8" >

                        <h:outputLabel value="Concurso Seleccionado: " style="font-weight: bold;" />
                        <h:outputLabel value="${reclutamiento$preseleccionAspirante.concursoSeleccionado.nombre}" />
                        <h:panelGroup />
                        <h:outputLabel value="Puesto al que aplica: " style="font-weight: bold;" />
                        <h:outputLabel value="${reclutamiento$preseleccionAspirante.concursoSeleccionado.puestos.nomPuesto}" />
                        <h:panelGroup /><h:panelGroup /><h:panelGroup />
                        <h:outputLabel value="Fecha Inicial: " style="font-weight: bold;" />
                        <h:outputLabel value="${reclutamiento$preseleccionAspirante.concursoSeleccionado.fechaInicial}" >
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </h:outputLabel>
                        <h:panelGroup />
                        <h:outputLabel value="Fecha Final: " style="font-weight: bold;" />
                        <h:outputLabel value="${reclutamiento$preseleccionAspirante.concursoSeleccionado.fechaFinal}" >
                            <f:convertDateTime pattern="dd/MM/yyyy" />
                        </h:outputLabel>
                        <h:panelGroup />
                        <h:outputLabel value="Plazas necesarias: " style="font-weight: bold;" />
                        <h:outputLabel value="${reclutamiento$preseleccionAspirante.concursoSeleccionado.numeroPlazas}" />

                        <h:outputLabel value=""/>
                        <h:outputLabel value=""/>

                    </h:panelGrid>
                </p:panel>
                <p:spacer height="10" />
                <table width="100%" >
                    <tr>
                        <td valign="top" > 
                            <p:dataTable id="seCandidatoLst" value="#{reclutamiento$preseleccionAspirante.candidatosGuardados}" 
                                         paginator="true" rows="5" rowsPerPageTemplate="5,10,25,50,100" dynamic="true" rendered="#{reclutamiento$preseleccionAspirante.accionSeleccion eq 'A'}"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                         var="candidato" rowEditListener="#{reclutamiento$preseleccionAspirante.onEditCandidato}" >
                                <f:facet name="header">  
                                    <h:outputLabel value="Precandidatos Seleccionados" />
                                </f:facet>  

                                <p:column>
                                    <p:graphicImage value="/resources/iconos/personal.png" rendered="#{candidato.candidato1.sexo eq 1}" />   
                                    <p:graphicImage value="/resources/iconos/personal_w.png" rendered="#{candidato.candidato1.sexo eq 2}" />
                                    <h:outputText value="#{candidato.candidato1.nombreCompleto}"  style="margin-left:10px" />
                                </p:column>

                                <p:column headerText="Remover" style="width: 5%;" >
                                    <p:commandButton  id="cmdEliminarPreCandidato"  rendered="#{ (candidato.estado ne 'C') and (candidato.estado ne 'S') }" image="ui-icon-circle-minus" oncomplete="dlgEliminarPrecandidato.show();" title="Remover Candidato de este concurso." >
                                        <f:setPropertyActionListener value="#{candidato}" target="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado}" />  
                                    </p:commandButton>
                                </p:column>

                            </p:dataTable>

                            <p:dataTable id="tableCanSeleccionados"  style="display: inline" 
                                         var="candidato" paginatorAlwaysVisible="true" rendered="#{reclutamiento$preseleccionAspirante.accionSeleccion ne 'A'}"
                                         value="#{reclutamiento$preseleccionAspirante.listaCandidatos}"
                                         selection="#{reclutamiento$preseleccionAspirante.candidatosSeleccionados}"
                                         rows="5" paginator="true" selectionMode="multiple"
                                         emptyMessage="Seleccione los criterios para encontrar candidatos."                                     
                                         binding="#{reclutamiento$preseleccionAspirante.tableCandidatos}"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,25,50,100" >
                                <f:facet name="header">  
                                    <h:outputLabel value="Candidatos Disponibles" />
                                </f:facet>  

                                <p:column sortBy="#{candidato.nombreCompleto}" filterBy="#{candidato.nombreCompleto}"
                                          filterMatchMode="contains" headerText="Nombre " >
                                    <p:commandLink>  
                                        <p:graphicImage value="/resources/iconos/personal.png" rendered="#{candidato.sexo eq 1}" />   
                                        <p:graphicImage value="/resources/iconos/personal_w.png" rendered="#{candidato.sexo eq 2}" />
                                    </p:commandLink> 
                                    <h:outputLabel value="#{candidato.nombreCompleto}" style="margin-left:10px"/>
                                </p:column>
                                <f:facet name="footer" >
                                    <p:commandButton value="Guardar selecci&oacute;n" action="#{reclutamiento$preseleccionAspirante.aplicarCriterios}" image="ui-icon-disk" update="tableCanSeleccionados,principalForm:mensajes,seCandidatoLst,panelProceso" />
                                </f:facet>
                            </p:dataTable>
                        </td>
                        <td valign="top">
                            <p:dataTable id="criteriosSeleccionados" var="criterio" rows="5" paginator="true"
                                         value="#{reclutamiento$preseleccionAspirante.criteriosPrincipales}"
                                         emptyMessage="No se han encontrado Criterios para el puesto." 
                                         paginatorAlwaysVisible="true" rendered="#{reclutamiento$preseleccionAspirante.accionSeleccion eq 'C'}"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,25,50,100" >

                                <f:facet name="header">  
                                    Criterios por puesto
                                </f:facet>  

                                <p:column sortBy="#{criterio.nombre}" filterBy="#{criterio.nombre}"
                                          filterMatchMode="contains" headerText="Criterio " >
                                    <h:outputLabel value="#{criterio.nombre}" />
                                </p:column>

                                <p:column headerText="Remover" style="width: 5%;" >
                                    <p:commandButton  id="cmdEliminarCriterio"  image="ui-icon-circle-minus" update="principalForm:criteriosSeleccionados" action="#{reclutamiento$preseleccionAspirante.eliminarCriterio}" >
                                        <f:setPropertyActionListener value="#{criterio}" target="#{reclutamiento$preseleccionAspirante.criterio}" />  
                                    </p:commandButton>
                                </p:column>

                                <f:facet name="footer">  
                                    <h:panelGrid columns="2">
                                        <p:commandButton oncomplete="botonMostrarCriterios.show()" value="A&ntilde;adir criterios" update="principalForm:criteriosDisponibles" image="ui-icon-plusthick" />
                                    </h:panelGrid>
                                </f:facet>  

                            </p:dataTable>
                        </td>
                    </tr>
                </table>

                <p:spacer height="20" />
            </p:tab>

            <p:tab id="candidatosPreselect" title="Evaluaci&oacute;n"  >
                <p:spacer height="10" />
                <p:panel id="panelCandidatosPre" header="Paso 3 de 5" style="border:none;" >
                    <p:spacer height="10" />
                    <p:panel style="border:none;" >
                        <h:panelGrid columns="2">

                            <h:outputLabel value="De clic en la imagen del candidato para ingresar las evaluaciones realizadas."/>
                        </h:panelGrid>
                    </p:panel>
                    <p:spacer height="10" />
                    <p:dataTable id="evCandidatoLst" value="#{reclutamiento$preseleccionAspirante.candidatosGuardados}" 
                                 paginator="true" rows="5"  
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                 rowsPerPageTemplate="5,10,25,50,100" 
                                 var="candidato" dynamic="true" rowEditListener="#{reclutamiento$preseleccionAspirante.onEditCandidato}" >

                        <p:column filterBy="#{candidato.candidato1.nombreCompleto}" filterMatchMode="contains" headerText="Candidato " style="width:450px;" >
                            <p:commandButton id="selectCandidato" image="#{candidato.candidato1.sexo eq 1 ? 'contratar' : 'contratar_w'}" oncomplete="botonMostrarEvaluacion.show()"  update="principalForm:lbl1,principalForm:lbl2,principalForm:pruebasXEvaluacionEdit" action="#{reclutamiento$preseleccionAspirante.listarEvaluaciones}" label="Ingresar evaluaci&oacute;n" title="Ingresar evaluaci&oacute;n">
                                <f:setPropertyActionListener value="#{candidato}" target="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado}" />  
                            </p:commandButton>
                            <h:outputText value="#{candidato.candidato1.nombreCompleto}"  style="margin-left:10px" />
                        </p:column>

                        <p:column sortBy="#{candidato.notaEvaluacion}" headerText="Nota Obtenida" style="width: 12%;">  
                            <h:outputLabel value="#{candidato.notaEvaluacion}" style="margin-left:10px;">
                                <f:convertNumber maxFractionDigits="2" />
                            </h:outputLabel>
                        </p:column>  

                        <p:column headerText="Observaciones" style="width:250px; text-align: left">  
                            <p:cellEditor  >  
                                <f:facet name="output">  
                                    <h:outputText value="#{candidato.observacion}" />  
                                </f:facet>  
                                <f:facet name="input">  
                                    <p:inputTextarea value="#{candidato.observacion}" style="width:100%"/>  
                                </f:facet>  
                            </p:cellEditor>  
                        </p:column>  

                        <p:column headerText="Ingresar" style="width:50px; text-align: left;">  
                            <p:rowEditor />  
                        </p:column>  

                    </p:dataTable>

                </p:panel>
                <p:spacer height="10" />
            </p:tab>
            <p:tab id="tabSeleccion" title="Selecci&oacute;n"  >
                <p:spacer height="5" />
                <p:panel id="panelSeleccion" header="Paso 4 de 5" style="border:none;">
                    <p:spacer height="5" />
                    <p:panel style="border:none;" >
                        <h:panelGrid columns="2">
                            <h:outputLabel value="Seleccione las personas candidatas a contratar."/>
                        </h:panelGrid>
                    </p:panel>
                    <p:spacer height="10" />
                    <p:dataTable id="candidatoSelection" value="#{reclutamiento$preseleccionAspirante.candidatosGuardados}" var="candidato" paginator="true" rows="5"
                                 update="principalForm:panelSeleccion,principalForm:candidatoSelection"
                                 rowStyleClass="#{candidato.orden lt 6 ? 'candidatoSugerido' : null}" emptyMessage="No ha seleccionado ning&uacute;n candidato."
                                 paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,25,50,100" binding="#{reclutamiento$preseleccionAspirante.tableSeleccion}" >
                        <f:facet name="header">
                            <h:outputLabel value="Candidatos evaluados" />
                        </f:facet>

                        <p:column headerText="Candidato" >  
                            <p:commandLink>  
                                <p:graphicImage value="/resources/iconos/personal.png" rendered="#{candidato.candidato1.sexo eq 1}" />  
                                <p:graphicImage value="/resources/iconos/personal_w.png" rendered="#{candidato.candidato1.sexo eq 2}" />
                            </p:commandLink>  
                            <h:outputText value="#{candidato.candidato1.nombreCompleto}" style="margin-left:10px" />  
                        </p:column>

                        <p:column headerText="Sugerido" style="width: 11%;" >  
                            <p:graphicImage value="/resources/iconos/rating.png" rendered="#{(candidato.orden lt 6)}" /> 
                            <h:outputLabel value="(Nota #{candidato.notaEvaluacion} )" />
                        </p:column>

                        <p:column headerText="Seleccionado" style="width: 10%;" >  
                            <p:commandButton id="cmdSeleccionar" rendered="#{candidato.estado eq 'P'}" action="#{reclutamiento$preseleccionAspirante.seleccionarCandidato}" update="principalForm:mensajes,principalForm:candidatoSelection"  image="nuevo" title="Marcar como seleccionado" />

                            <p:commandButton id="cmdDesSeleccionar" title="Deseleccionar Candidato" rendered="#{candidato.estado eq 'S'}" action="#{reclutamiento$preseleccionAspirante.deseleccionarCandidato}" update="principalForm:mensajes,principalForm:candidatoSelection"  image="button-ok" />

                            <p:commandButton disabled="true" rendered="#{candidato.estado eq 'C'}" image="contrato" title="Candidato contratado" />
                        </p:column>

                    </p:dataTable>
                </p:panel>
                <p:spacer height="20" />
            </p:tab>
            <p:tab id="tabContratacion" title="Contrataci&oacute;n"  >
                <p:spacer height="20" />
                <p:panel id="panelContratacion" header="Paso 5 de 5" style="border:none;" >
                    <p:spacer height="20" />

                    <p:dataTable id="candidatoContratar" value="#{reclutamiento$preseleccionAspirante.candidatosContratar}" var="candidato" paginator="true" rows="5"
                                 update="principalForm:panelSeleccion,principalForm:candidatoContratar" emptyMessage="No ha seleccionado ning&uacute;n candidato." binding="#{reclutamiento$preseleccionAspirante.tableContratacion}"
                                 paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,25,50,100"  >
                        <f:facet name="header">
                            <h:outputLabel value="Candidatos a Contratar" />
                        </f:facet>

                        <p:column headerText="Candidato" >  
                            <p:commandLink>  
                                <p:graphicImage value="/resources/iconos/personal.png" rendered="#{candidato.candidato1.sexo eq 1}" />  
                                <p:graphicImage value="/resources/iconos/personal_w.png" rendered="#{candidato.candidato1.sexo eq 2}" />
                            </p:commandLink>  
                            <h:outputText value="#{candidato.candidato1.nombreCompleto}" style="margin-left:10px" />  
                        </p:column>

                        <p:column headerText="Contratar"> 
                            <p:commandButton id="cmdContratar"  disabled="#{candidato.estado eq 'C'}" oncomplete="botonMostrarContrato.show()" image="contrato" update="principalForm:lbl_candidato,principalForm:lbl_puesto,principalForm:lbl_puesto,principalForm:cmdOk,principalForm:txtUsuario,principalForm:mensajesContrato,principalForm:txObservaciones,principalForm:txAreaOAcuerdo,principalForm:calFecFinalCon,principalForm:calFecInicialCon,principalForm:txSalarioCan,principalForm:txtRepresentanteP,principalForm:lst_tipoContrato,principalForm:lst_estadoContrato,principalForm:lst_sucursal,principalForm:lst_tipoPlanilla" title="Contratar Candidato" >
                                <f:setPropertyActionListener value="#{candidato}" target="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado}" />  
                            </p:commandButton>
                        </p:column>

                        <p:column headerText="Imprimir Contrato"> 
                            <p:commandButton id="cmdImprimirContrato" ajax="false" disabled="#{candidato.estado ne 'C'}" action="#{reclutamiento$preseleccionAspirante.imprimirContrato}" update="principalForm:mensajes,principalForm:candidatoContratar"  image="documentPDF"  title="Imprimir contrato" >
                                <f:setPropertyActionListener value="#{candidato}" target="#{reclutamiento$preseleccionAspirante.candidatoSeleccionado}" />  
                            </p:commandButton>
                        </p:column>

                        <f:facet name="footer">
                            <p:commandButton id="cerrarConcurso" value="Cerrar Concurso" image="ui-icon-circle-close" onclick="confirmation.show()" update="principalForm:mensajes,principalForm:candidatoContratar" />
                        </f:facet>
                    </p:dataTable>

                </p:panel>
                <p:spacer height="20" />
            </p:tab>
        </p:wizard>

        <p:spacer height="20" />

    </ui:define>

</ui:composition>